var moment = require('moment');

function sleep(seconds) {
    var begin = parseInt(getCurrentDatetime());
    while (true) {
        var now = parseInt(getCurrentDatetime());
        if ((now - begin) >= seconds) {
            return;
        }
    }
}

function dateFormat(date, fmt) { //author: meizz
    if (!!date) {
        var o = {
            "M+": date.getMonth() + 1, //月份
            "d+": date.getDate(), //日
            "h+": date.getHours(), //小时
            "m+": date.getMinutes(), //分
            "s+": date.getSeconds(), //秒
            "q+": Math.floor((date.getMonth() + 3) / 3), //季度
            "S": date.getMilliseconds() // 毫秒
        };
        if (/(y+)/.test(fmt)) {
            fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
        }
        for (var k in o) {
            if (new RegExp("(" + k + ")").test(fmt)) {
                fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
            }
        }
        return fmt;
    } else {
        return '';
    }
}

/**
 * 获取当前日期
 */
function getCurrentDate() {
    return moment().format("YYYYMMDD");
}

/**
 * 获取当前时间
 */
function getCurrentTime() {
    return moment().format("HHmmss");
}

/**
 * 获取当前日期时间（到秒）
 */
function getCurrentDatetime() {
    return moment().format("YYYYMMDDHHmmss");
}

function test() {
    sleep(10);
}

module.exports = {
    sleep: sleep,
    dateFormat: dateFormat
}